package com.selune.online.ordering.system.project.api.service.tenant;

import com.selune.online.ordering.system.project.api.base.response.Response;
import com.selune.online.ordering.system.project.api.pojo.user.dto.LoginDTO;
import com.selune.online.ordering.system.project.api.pojo.user.tenant.dto.TenantLoginDTO;
import com.selune.online.ordering.system.project.api.pojo.user.tenant.dto.TenantUserInfoDTO;
import com.selune.online.ordering.system.project.api.pojo.user.tenant.vo.TenantUserInfoVO;

/**
 * 商户账户管理接口
 *
 * @author xiaoyp
 * @date 2020/2/19
 */

public interface ITenantUserService {
	
	/**
	 * 注册租户用户
	 *
	 * @param tenantUserInfoDTO 用户信息DTO
	 * @return True/False
	 */
	Response<Boolean> saveTenantUser(TenantUserInfoDTO tenantUserInfoDTO);
	
	/**
	 * 根据用户id查询用户
	 *
	 * @param userId 用户id
	 * @return 用户信息
	 */
	Response<TenantUserInfoVO> getTenantUser(Long userId);
	
	/**
	 * 编辑租户用户信息
	 *
	 * @param tenantId          用户id
	 * @param tenantUserInfoDTO 用户信息DTO
	 * @return True/False
	 */
	Response<Boolean> updateTenantUser(Long tenantId, TenantUserInfoDTO tenantUserInfoDTO);
	
	/**
	 * 根据用户名，密码登陆
	 *
	 * @param loginDTO 登陆DTO
	 * @return 用户信息
	 */
	Response<TenantUserInfoVO> userLogin(LoginDTO loginDTO);
	
	/**
	 * 编辑租户登陆信息
	 *
	 * @param tenantId          用户id
	 * @param loginDTO 用户信息DTO
	 * @return True/False
	 */
	Response<Boolean> updateTenantLogin(Long tenantId, TenantLoginDTO loginDTO);
}
